/**
 * An enum over the possible instruction mnemonics and directives
 * 
 * @author Andrew Krieger
 * @version 0.01
 * @since 5 Apr 2012
 */

public enum Mnemonic {
	NONE, KICKO, NEWLC, EQU, EQUE, ENT, EXT, END, AEXS, SKIPS, CHAR, NUM, ADRC, MOVD, MOVDN, IADD, IMAD, IAA, ISRG, ISUB, IMUL, IDIV, PWR, CLR, CLRA, CLRX, ISHR, ISHL, ISRA, ISLA, ROL, ROR, AND, OR, TREQ, TRLT, TRGT, TR, TRDR, TRLK, RET, SKT, IWSR, IRKB, CWSR, CRKB, PSH, POP, PST, NOP, DMP, HLT;

	/**
	 * Return the opcode for this instruction (assuming it is an instruction).
	 * 
	 * @return The opcode
	 */
	public int getOpcode() {
		return opcode;
	}

	/**
	 * Construct a mnemonic with an implicit opcode of 0x00000000
	 */
	private Mnemonic() {
		opcode = 0x0;
	}

	/**
	 * construct a mnemonic with a specified opcode
	 * 
	 * @param opcode
	 *            the opcde for this instruction mnemonic
	 */
	private Mnemonic(int opcode) {
		this.opcode = opcode;
	}

	// [The opcode associated with this mnemonic]
	private final int opcode;

	public static boolean isMember(String block) {
		// TODO Auto-generated method stub
		return false;
	}
}
